package com.tvunetworks.center.user.service;

import com.github.pagehelper.PageInfo;
import com.tvunetworks.center.common.util.Result;
import com.tvunetworks.center.user.model.param.PageOverWatchParam;
import com.tvunetworks.center.user.model.param.UpdateOverWatchParam;
import com.tvunetworks.center.user.model.vo.OverWatchDeviceVo;
import com.tvunetworks.center.user.model.vo.OverWatchVo;

/**
 * @author Etan Yang
 * @data: 6/17/2020 9:51 AM
 * @program: tvucc-aggregator
 * @description:
 */

public interface OverWatchService {
    /**
     * 添加或修改rid的code码和最大观看数
     * @param param param
     * @return int
     */
    int updateOverWatch(UpdateOverWatchParam param);

    /**
     * 登录指定的code码观看对应的视频
     * @param code code
     * @return Result
     */
    Result<OverWatchVo> loginOverWatch(String code);

    /**
     * 校验code是否存在
     * @param code code
     * @return int
     */
    int checkCode(String code);

    /**
     * 分页查询该用户的R
     * @param param param
     * @param userId userId
     * @return  PageInfo
     */
    PageInfo<OverWatchDeviceVo> pageDeviceRByUser(PageOverWatchParam param, String userId);

    /**
     * 通过rid和code校验该code是否已经过期
     * @param rid rid
     * @param code code
     * @return int
     */
    int checkLoginCodeChange(String rid, String code);

    /**
     * 修改指定rid的观看人数
     * @param rid rid
     * @param numFlag numFlag
     * @return int
     */
    int updateCurrConnectNum(String rid, boolean numFlag);

    /**
     * 校验该rid是否达到最大连接数。true表示可以连接，false表示已经达到最大连接数了，不可以连接了
     * @param rid rid
     * @return boolean
     */
    boolean checkCurrConnectCount(String rid);

}
